C#访问新浪股票接口失效的处理 |
您所在的位置:网站首页 › 新浪股票接口 拒绝交易 › C#访问新浪股票接口失效的处理 |
新浪接口很好用,但后来一直就不能用了,比如 http://hq.sinajs.cn?list=sh601003 返回Forbidden 找了一下,发现腾讯的股票接口和新浪的很接近,能用,就直接换腾讯了。 今天因为港股数据的问题,还是想试试新浪接口,找了一下文章,发现问题是新浪需要一个header 新浪股票接口失效解决方法,2022年访问接口出现 “Kinsoku jikou desu” 日语禁止访问 解决办法是在请求头部添加Referer字段 2022 新浪股票接口更新需要加Referer才能获取数据 Referer:http://finance.sina.com.cn 于是尝试,修改访问前修改HttpWebRequest,结果不行,研究一圈,发现需要用反射 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); //request.Headers.Add("referer", "https://finance.sina.com.cn/"); //request.Headers["referer"] = "https://finance.sina.com.cn/"; MethodInfo priMethod = request.Headers.GetType().GetMethod("AddWithoutValidate", BindingFlags.Instance | BindingFlags.NonPublic); priMethod.Invoke(request.Headers, new string[] { "referer", "https://finance.sina.com.cn/" }); string content = ""; try { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) //防止无响应 { StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312")); content = reader.ReadToEnd(); reader.Close(); } } 相关引用 using System; using System.Collections.Generic; using System.Text; using System.Timers; using System.Text.RegularExpressions; using System.Data; using System.Net; using System.ComponentModel; using System.Web; using System.Web.UI; using System.IO; using System.Reflection; |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |